package com.store.vo;

import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 购物车视图对象
 */
@Data
public class CartVO {
    
    /**
     * 购物车ID
     */
    private Long id;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 商品ID
     */
    private Long productId;
    
    /**
     * 商品名称
     */
    private String productName;
    
    /**
     * 商品图片
     */
    private String productImage;
    
    /**
     * 商品价格
     */
    private BigDecimal price;
    
    /**
     * 商品库存
     */
    private Integer stock;
    
    /**
     * 商品状态（1-上架，0-下架）
     */
    private Integer status;
    
    /**
     * 数量
     */
    private Integer quantity;
    
    /**
     * 小计（价格 * 数量）
     */
    private BigDecimal subtotal;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 是否可购买（库存充足且商品上架）
     */
    public boolean isAvailable() {
        return status != null && status == 1 && stock != null && stock >= quantity;
    }
}


